home *** CD-ROM | disk | FTP | other *** search
- to "cake
- pc 1
- pu setxy -200 40 pd
- elip 50 1
- seth 180 fd 80
- elip 50 -1
- seth 0 fd 80
- pu rt 90 fd 5 paint 3 1 back 5 pd
- elip 50 -1
- seth 180 pu fd 40 pd
- elip 50 -1
- end
-
- to "elip :b :ul
- make "a xcor
- make "vp ycor
- make "i ( -2 * :a / 40.0 )
- make "f1 :b * :b
- make "f2 :f1 / :a / :a
- repeat 40 [ make "x ( xcor + :i ) make "y ( :ul * ( sqrt ( :f1 - ( :f2 * :x * :x ) + .1 ) ) + :vp ) setxy :x :y ]
- end
-
- to "candle
- pc 2 pd
- seth 0
- fd 80 rt 90 fd 5 lt 18 repeat 10 [ fd 4 lt 36 ] rt 18
- pu sety ( ycor + 3 )
- paint 2 2
- sety ( ycor - 3 ) pd
- fd 5 rt 90 fd 80 rt 90 fd 10
- pu back 5 rt 90 fd 5 paint 1 2 fd 70 paint 1 2 back 75
- rt 90 back 5 pd
- end
-
- to "candles :num
- pu setxy -205 40
- make "inc ( 400.0 / ( :num + 1 ) )
- repeat :num [ seth 90 pu fd :inc candle ]
- end
-
- to "bcake :num
- ; Birthday cake is by Daniel D. Wheeler, Cincinnati, OH
- cs hb
- cake
- hbx
- candles :num
- hbx
- end
-
- to "hbx
- play "'MB O4L8 GG L4 AG O5 C L2O4 B L8 GG L4 AG O5 D L2 C O4L8 GG O5L4 GEC O4 B L2 A O5 L8 EE L4 DCD L2 C'
- end
-
- to "star :size
- repeat 5 [fd :size rt 144]
- end
-
- to "stars :num
- home cs pu
- repeat :num [fd 50 pd star 50 pu back 50 rt ( 360 / :num ) ]
- pd
- end
-
- make "a "'200
- make "vp "'-2
- make "i "'-10
- make "f1 "'2500
- make "f2 "'.0625
- make "x "'-200
- make "y "'-3
- make "inc "'66
- make "a "'200
- make "vp "'-2
- make "i "'-10
- make "f1 "'2500
- make "f2 "'.0625
- make